iT邦幫忙

2024 iThome 鐵人賽

DAY 7
0
Python

運用 Python 操作 Excel系列 第 7

[Day 7] Python 操作 Excel -小試身手(建立工作表)

  • 分享至 

  • xImage
  •  

函數 wb.create_sheet()可以建立工作表

title=工作表名稱:也可以省略,代表所建立的工作表名稱,如果整個省略會使用系統預設的工作表名稱 sheetN,第一次N是省略,之後如果再建立工作表時,N會由阿拉伯數字 1開始遞增。
活頁簿成功後系統會自動建立 sheet 工作表。

#ch1_1.py 建立工作表
import openpyxl
from openpyxl.styles import Font
import os

os.chdir(r"C:\Catherine_Files")
# os.chdir 是 python 切換到電腦指定路徑的方法
wb = openpyxl.Workbook()              #建立空白的wb
print("所有工作表名稱=", wb.sheetnames) 
wb.create_sheet                       #建立新工作表
print("所有工作表名稱=", wb.sheetnames)
ws = wb.active                        #取得目前工作表
print("目前工作表名稱=", ws.title)
wb.save('out1_1.xlsx')                #儲存wb

執行結果:

https://ithelp.ithome.com.tw/upload/images/20240918/20168857qpYgkvkre6.png
https://ithelp.ithome.com.tw/upload/images/20240918/201688573O6JoLbvVQ.png
繼續擴充ch1-1.py,增加使用title和index關鍵字

#ch1_2.py
import openpyxl
from openpyxl.styles import Font
import os

os.chdir(r"C:\Catherine_Files")
#os.chdir 是 python 切換到電腦指定路徑的方法
wb = openpyxl.Workbook()                      #建立空白的wb
print("所有工作表名稱=", wb.sheetnames)
wb.create_sheet                               #建立新工作表
print("所有工作表名稱=", wb.sheetnames)
wb.create_sheet(index=0, title='First sheet')  #第一個工作表
#也可以寫wb.create_sheet('First sheet',0)
print("所有工作表名稱=", wb.sheetnames)
wb.create_sheet(index=2, title='Third sheet')   #第三個工作表
print("所有工作表名稱=", wb.sheetnames)
wb.create_sheet(index=-1, title='Fourth sheet') #第四個工作表
print("所有工作表名稱=", wb.sheetnames)
wb.save('out1_2.xlsx')                          #儲存wb

執行結果:

https://ithelp.ithome.com.tw/upload/images/20240918/20168857WCTfs7OI0k.png
在建立工作表時預設工作表名稱是"SheetN",N 是數字編號以遞增方式顯示,另外新建立的工作表是放在工作表列的最右邊,我們可以在create_sheet()內增加參數title 和index 設定新工作表的名稱和位置。工作表的位置是從0開始,所以如果index=0,表示在最左邊。
https://ithelp.ithome.com.tw/upload/images/20240918/2016885776x8KfWNA6.png


上一篇
Python 操作 Excel -小試身手(在多筆紀錄中,改寫目標資料)
下一篇
Python 操作 Excel-小試身手(複製工作表)
系列文
運用 Python 操作 Excel15
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言